Tipedia

TiDB 建表

Last edited by longfangsong at 2021-05-19
TiDB DDL

在将建表的语句编译到 Executor 的对应变种 DDLExec 之后,由其上的 executeCreateTable 调用 ddl.CreateTableWithInfo 将建表工作化为 Job,放入 DDL 执行队列异步执行。 在 worker.runDDLJob 函数中,Job 被从队列中取出,并根据任务的具体类型,被分配到使用 onCreateTable 执行,然后调用 createTableOrViewWithCheck,用 Meta.CreateTableOrView 最终将表的元信息编码为 KV 对,并通过 HSet 写入到事务中,并最终提交到 TiKV。